package com.sssre.lttcloud.framework.service;

import com.sssre.lttcloud.common.result.Result;

import java.util.List;
import java.util.Map;

/**
 * 性能监测服务接口
 */
public interface PerformanceMonitorService {
    
    /**
     * 记录方法开始
     */
    void recordMethodStart(String methodName, String description, Object[] params);
    
    /**
     * 记录方法结束
     */
    void recordMethodEnd(String methodName, long executionTime, boolean success, String errorMessage, Object result);
    
    /**
     * 记录超时
     */
    void recordTimeout(String methodName, long executionTime, long timeout);
    
    /**
     * 获取性能统计
     */
    Result<Map<String, Object>> getPerformanceStats();
    
    /**
     * 获取方法调用历史
     */
    Result<List<Map<String, Object>>> getMethodHistory(String methodName, int limit);
    
    /**
     * 获取慢查询列表
     */
    Result<List<Map<String, Object>>> getSlowQueries(long threshold);
    
    /**
     * 清理历史数据
     */
    Result<String> clearHistoryData(int days);
} 